//上传文件前进行检查文件的格式和文件的大小
//文件的格式应该为jpg或者png,文件的大小不超过1M
//定义文件检查参数的类型
interface CheckCondition{
    format?:string[];
    size?:number;
}
type ErrorType = 'size' | 'format' | null
//进行格式检查的函数
const beforeUploadedCheck = (file:File,condition:CheckCondition) =>{
    const {format,size} = condition
    //如果数组中包含文件的类型，则返回true,否则返回false,当format不存在（null或undefined),则自动设置为true
    const isValidFormat = format ? format.includes(file.type) : true
    console.log("上传文件的大小为：",file.size)
    //file.size是以B形式存在
    const isValidSize = size ? (file.size /1024 /1024 < size) : true
    let error:ErrorType = null
    //当不是jpg或者png格式时，则显示错误
    if(!isValidFormat){
        error = 'format'
    }
    if(!isValidSize){
        error = 'size'
    }
    return{
        passed:isValidFormat && isValidSize,
        error
    }
}
//进行导出函数
export default beforeUploadedCheck